#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
const int N = 2010;
int f[N][N];
string a, b;
int main()
{
    cin >> a >> b;
    a = " " + a;
    b = " " + b;
    int n = a.size();
    int m = b.size();
    for (int i = 1; i <= n; i++)
    {
        f[i][0] = i;
    }
    for (int i = 1; i <= m; i++)
    {
        f[0][i] = i;
    }
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= m; j++)
        {
            if (a[i] == b[j])
            {
                f[i][j] = f[i - 1][j - 1];
            }
            else
            {
                f[i][j] = min(f[i - 1][j], min(f[i][j - 1], f[i - 1][j - 1])) + 1;
            }
        }
    }
    cout << f[n][m];
    return 0;
}